package com.chukun.interview.feature.inf.impl;

import com.chukun.interview.feature.inf.base.Shape;

/**
 * 加上synchronized,避免并发修改半径问题，但是损失吞吐量
 */
public class Circle02 implements Shape {

    private double radius;

    public Circle02(double radius) {
        this.radius = radius;
    }

    @Override
    public  double getArea() {
        return Math.PI * radius * radius;
    }

    public double getRadius() {
        return radius;
    }

    // 提供setter方法，加synchronized关键字，避免并发修改半径问题
    public synchronized void setRadius(double radius) {
        this.radius = radius;
    }

}